home *** CD-ROM | disk | FTP | other *** search
- // Required map objects (Navpoints) needed to get this gametype working.
- // This must be placed as navpoints using the mission editor.
- // Team1_Dropzone
- // Team2_Dropzone
- // defend1
- // defend2
- // defend3
- // defend4
- // combatzone
- //*********************************************************************************
-
- fsm combatzone : integer;
-
- const
-
- #include_ <content\ABLScripts\mwconst.abi>
-
- type
-
- #include_ <content\ABLScripts\mwtype.abi>
-
- var
-
- static integer Team1;
- static integer Team2;
-
- static integer Radius;
- static integer Radius2;
-
- static integer team1_def1;
- static integer team1_def2;
- static integer team1_def3;
- static integer team1_def4;
- static integer team1_com1;
-
- static integer team2_def1;
- static integer team2_def2;
- static integer team2_def3;
- static integer team2_def4;
- static integer team2_com1;
- static integer Currenttime;
-
-
- static integer Defend_time1;
- static integer Defend_time2;
- static integer Defend_time3;
- static integer Defend_time4;
- static integer combat_time1;
-
- static boolean t1inDef1;
- static boolean t1inDef2;
- static boolean t1inDef3;
- static boolean t1inDef4;
- static boolean t1incom1;
-
- static boolean t2inDef1;
- static boolean t2inDef2;
- static boolean t2inDef3;
- static boolean t2inDef4;
- static boolean t2incom1;
-
-
- static ObjectID Defend1;
- static ObjectID Defend2;
- static ObjectID Defend3;
- static ObjectID Defend4;
- static ObjectID combatzone;
- static ObjectID Team1_Dropzone;
- static ObjectID Team2_Dropzone;
-
- function init;
- var
-
- code
- radius = 150; //defend zones
- radius2 = 200; // combatzone
-
- Settimer(gti_timer_1,0);
- Settimer(gti_timer_2,0);
- Settimer(gti_timer_3,0);
- Settimer(gti_timer_4,0);
- Settimer(gti_timer_5,0);
-
- Defend_time1 = gti_timer_1;
- Defend_time2 = gti_timer_2;
- Defend_time3 = gti_timer_3;
- Defend_time4 = gti_timer_4;
- combat_time1 = gti_timer_1;
-
- Team1 = TeamObjectID(1);
- Team2 = TeamObjectID(2);
-
- t1inDef1 = false;
- t1inDef2 = false;
- t1inDef3 = false;
- t1inDef4 = false;
- t1incom1 = false;
-
- t2inDef1 = false;
- t2inDef2 = false;
- t2inDef3 = false;
- t2inDef4 = false;
- t2incom1 = false;
-
- Team1_Dropzone = ena_Team1_Dropzone;
- Team2_Dropzone = ena_Team2_Dropzone;
- Defend1 = ena_defend1;
- Defend2 = ena_defend2;
- Defend3 = ena_defend3;
- Defend4 = ena_defend4;
- combatzone = ena_combatzone;
-
- SetCustomBucketName("CombatZone");
- SetFlagsEnabled(FLAGS_HIDE);
- TrackBucket(Bucket_CUSTOM,0,true);
- AddStandardBuckets;
- AddCustomBucketParameter(Bucket_FRIENDLY_KILLS,-500);
- AddCustomBucketParameter(Bucket_SUICIDES,-1500);
- AddCustomBucketParameter(Bucket_ENEMY_DAMAGE_INFLICT, 1);
- AddCustomBucketParameter(Bucket_ENEMY_KILLS, 300);
- AddCustomBucketParameter(Bucket_FRIENDLY_DAMAGE_INFLICT,-2);
-
- endfunction;
-
- state startState;
-
- code
-
- RevealNavPoint(ena_defend1);
- RevealNavPoint(ena_defend2);
- RevealNavPoint(ena_defend3);
- RevealNavPoint(ena_defend4);
- RevealNavPoint(ena_combatzone);
-
- // Set player navpoints at start of game to.....
- TeamSetNav(1,ena_combatzone);
- TeamSetNav(2,ena_combatzone);
-
- Trans thezones;
-
-
- endstate;
-
-
- state thezones;
-
- code
-
- ////////////////////////////////////////////////////////////////////////
- //
- // Defend zone 1
- //
- ///////////////////////////////////////////////////////////////////////
- // Defender zone 1 check for team1
-
- if ((t1inDef1) == false) then
- if (IsWithin(TeamObjectID(1),defend1,radius) == true) then
- if (IsWithin(TeamObjectID(2),defend1,radius) == false) then
- t1inDef1 = true;
- resettimer(Defend_time1);
- team1_def1 = 1;
- endif;
- endif;
- endif;
-
- if ((t1inDef1) == true) then
- if (timegreater(Defend_time1,team1_def1)) then
- if (IsWithin(TeamObjectID(1),defend1,radius) == true) then
- if (IsWithin(TeamObjectID(2),defend1,radius) == false) then
- Currenttime = Gettimer(Defend_time1);
- if ((Currenttime) >= 10) then
- addpoints(Team1, 75);
- resettimer(Defend_time1);
- endif;
-
- else
- t1inDef1 = false;
- endif;
- endif;
- endif;
- endif;
-
- // Defender zone 1 check for team2
-
- if ((t2inDef1) == false) then
- if (IsWithin(TeamObjectID(2),defend1,radius) == true) then
- if (IsWithin(TeamObjectID(1),defend1,radius) == false) then
- t2inDef1 = true;
- resettimer(Defend_time1);
- team2_def1 = 1;
- endif;
- endif;
- endif;
-
- if ((t2inDef1) == true) then
- if (timegreater(Defend_time1,team2_def1)) then
- if (IsWithin(TeamObjectID(2),defend1,radius) == true) then
- if (IsWithin(TeamObjectID(1),defend1,radius) == false) then
- Currenttime = Gettimer(Defend_time1);
- if ((Currenttime) >= 10) then
- addpoints(Team2, 75);
- resettimer(Defend_time1);
- endif;
-
- else
- t2inDef1 = false;
- endif;
- endif;
- endif;
- endif;
-
- ////////////////////////////////////////////////////////////////////////
- //
- // Defend zone 2
- //
- ///////////////////////////////////////////////////////////////////////
-
- // Defender zone 2 check for team1
-
- if ((t1inDef2) == false) then
- if (IsWithin(TeamObjectID(1),defend2,radius) == true) then
- if (IsWithin(TeamObjectID(2),defend2,radius) == false) then
- t1inDef2 = true;
- resettimer(Defend_time2);
- team1_def2 = 1;
- endif;
- endif;
- endif;
-
- if ((t1inDef2) == true) then
- if (timegreater(Defend_time2,team1_def2)) then
- if (IsWithin(TeamObjectID(1),defend2,radius) == true) then
- if (IsWithin(TeamObjectID(2),defend2,radius) == false) then
- Currenttime = Gettimer(Defend_time2);
- if ((Currenttime) >= 10) then
- addpoints(Team1, 75);
- resettimer(Defend_time2);
- endif;
-
- else
- t1inDef2 = false;
- endif;
- endif;
- endif;
- endif;
-
- // Defender zone 2 check for team2
-
- if ((t2inDef2) == false) then
- if (IsWithin(TeamObjectID(2),defend2,radius) == true) then
- if (IsWithin(TeamObjectID(1),defend2,radius) == false) then
- t2inDef2 = true;
- resettimer(Defend_time2);
- team2_def2 = 1;
- endif;
- endif;
- endif;
-
- if ((t2inDef2) == true) then
- if (timegreater(Defend_time2,team2_def2)) then
- if (IsWithin(TeamObjectID(2),defend2,radius) == true) then
- if (IsWithin(TeamObjectID(1),defend2,radius) == false) then
- Currenttime = Gettimer(Defend_time2);
- if ((Currenttime) >= 10) then
- addpoints(Team2, 75);
- resettimer(Defend_time2);
- endif;
-
- else
- t2inDef2 = false;
- endif;
- endif;
- endif;
- endif;
-
- ////////////////////////////////////////////////////////////////////////
- //
- // Defend zone 3
- //
- ///////////////////////////////////////////////////////////////////////
- // Defender zone 3 check for team1
-
- if ((t1inDef3) == false) then
- if (IsWithin(TeamObjectID(1),defend3,radius) == true) then
- if (IsWithin(TeamObjectID(2),defend3,radius) == false) then
- t1inDef3 = true;
- resettimer(Defend_time3);
- team1_def3 = 1;
- endif;
- endif;
- endif;
-
- if ((t1inDef3) == true) then
- if (timegreater(Defend_time3,team1_def3)) then
- if (IsWithin(TeamObjectID(1),defend3,radius) == true) then
- if (IsWithin(TeamObjectID(2),defend3,radius) == false) then
- Currenttime = Gettimer(Defend_time3);
- if ((Currenttime) >= 10) then
- addpoints(Team1, 75);
- resettimer(Defend_time3);
- endif;
-
- else
- t1inDef3 = false;
- endif;
- endif;
- endif;
- endif;
-
- // Defender zone 3 check for team2
-
- if ((t2inDef3) == false) then
- if (IsWithin(TeamObjectID(2),defend3,radius) == true) then
- if (IsWithin(TeamObjectID(1),defend3,radius) == false) then
- t2inDef3 = true;
- resettimer(Defend_time3);
- team2_def3 = 1;
- endif;
- endif;
- endif;
-
- if ((t2inDef3) == true) then
- if (timegreater(Defend_time3,team2_def3)) then
- if (IsWithin(TeamObjectID(2),defend3,radius) == true) then
- if (IsWithin(TeamObjectID(1),defend3,radius) == false) then
- Currenttime = Gettimer(Defend_time3);
- if ((Currenttime) >= 10) then
- addpoints(Team2, 75);
- resettimer(Defend_time3);
- endif;
-
- else
- t2inDef3 = false;
- endif;
- endif;
- endif;
- endif;
-
- ////////////////////////////////////////////////////////////////////////
- //
- // Defend zone 4
- //
- ///////////////////////////////////////////////////////////////////////
-
- // Defender zone 4 check for team1
-
- if ((t1inDef4) == false) then
- if (IsWithin(TeamObjectID(1),defend4,radius) == true) then
- if (IsWithin(TeamObjectID(2),defend4,radius) == false) then
- t1inDef4 = true;
- resettimer(Defend_time4);
- team1_def4 = 1;
- endif;
- endif;
- endif;
-
- if ((t1inDef4) == true) then
- if (timegreater(Defend_time4,team1_def4)) then
- if (IsWithin(TeamObjectID(1),defend4,radius) == true) then
- if (IsWithin(TeamObjectID(2),defend4,radius) == false) then
- Currenttime = Gettimer(Defend_time4);
- if ((Currenttime) >= 10) then
- addpoints(Team1, 75);
- resettimer(Defend_time4);
- endif;
-
- else
- t1inDef4 = false;
- endif;
- endif;
- endif;
- endif;
-
- // Defender zone 4 check for team2
-
- if ((t2inDef4) == false) then
- if (IsWithin(TeamObjectID(2),defend4,radius) == true) then
- if (IsWithin(TeamObjectID(1),defend4,radius) == false) then
- t2inDef4 = true;
- resettimer(Defend_time4);
- team2_def4 = 1;
- endif;
- endif;
- endif;
-
- if ((t2inDef4) == true) then
- if (timegreater(Defend_time4,team2_def4)) then
- if (IsWithin(TeamObjectID(2),defend4,radius) == true) then
- if (IsWithin(TeamObjectID(1),defend4,radius) == false) then
- Currenttime = Gettimer(Defend_time4);
- if ((Currenttime) >= 10) then
- addpoints(Team2, 75);
- resettimer(Defend_time4);
- endif;
-
- else
- t2inDef4 = false;
- endif;
- endif;
- endif;
- endif;
-
- ////////////////////////////////////////////////////////////////////
- //
- // Combat Zone
- //
- ////////////////////////////////////////////////////////////////////
-
- // Combatzone zone 1 check for team1
-
- if ((t1incom1) == false) then
- if (IsWithin(TeamObjectID(1),combatzone,radius2) == true) then
- if (IsWithin(TeamObjectID(2),combatzone,radius2) == false) then
- t1incom1 = true;
- resettimer(combat_time1);
- team1_com1 = 1;
- endif;
- endif;
- endif;
-
- if ((t1incom1) == true) then
- if (timegreater(combat_time1,team1_com1)) then
- if (IsWithin(TeamObjectID(1),combatzone,radius2) == true) then
- if (IsWithin(TeamObjectID(2),combatzone,radius2) == false) then
- Currenttime = Gettimer(combat_time1);
- if ((Currenttime) >= 60) then
- addpoints(Team1, 3000);
- resettimer(combat_time1);
- endif;
-
- else
- t1incom1 = false;
- endif;
- endif;
- endif;
- endif;
-
- // Combatzone 1 check for team2
-
-
- if ((t2incom1) == false) then
- if (IsWithin(TeamObjectID(2),combatzone,radius2) == true) then
- if (IsWithin(TeamObjectID(1),combatzone,radius2) == false) then
- t2incom1 = true;
- resettimer(combat_time1);
- team2_com1 = 1;
- endif;
- endif;
- endif;
-
- if ((t2incom1) == true) then
- if (timegreater(combat_time1,team2_com1)) then
- if (IsWithin(TeamObjectID(2),combatzone,radius2) == true) then
- if (IsWithin(TeamObjectID(1),combatzone,radius2) == false) then
- Currenttime = Gettimer(combat_time1);
- if ((Currenttime) >= 60) then
- addpoints(Team2, 3000);
- resettimer(combat_time1);
- endif;
-
- else
- t2incom1 = false;
- endif;
- endif;
- endif;
- endif;
-
- endstate;
-
- state deadState;
- code
- endstate;
-
-
- endfsm.
- //******************************************************************
-
-